Grid computing is regarded as a next-generation digital neural network service, which interconnects geographically-distributed resources of high-performance computers, mass storage devices and high-technology equipments via high-performance networks to make the resources shared therebetween.
That is, the grid computing creates a virtual system in which resources, e.g., computing power, storage devices, application programs, data and I/O devices, are shared between distributed computer systems via the Internet.
Such grid computing is being settled as a new computing paradigm to solve mass applications for, e.g., engineering, natural science and economics, and also being developed into cloud computing for the mass of people.
In the grid computing, complexity in resource management to efficiently manage various resources in a grid while satisfying users' demands increases exponentially as the number of resources in the grid increases.
A key element of the grid computing to achieve optimal resource management with a resource cluster having a large number of target resources is grid computing middleware. The grid computing middleware includes various functional blocks, e.g., service access blocks, control blocks, resource selection blocks and resource allocation blocks.
For the conventional grid computing middleware which serves to monitor, control and distribute requests for resources in a widely-dispersed computer network environment, “integrated load distribution and resource management” and “grid resource management” have been suggested.
The “integrated load distribution and resource management” matches expected requests on web objects with available capacity of web servers to thereby dynamically configure both of requests on web objects and capacity of web servers.
The “grid resource management” defines user-desired performance and required service levels as service level agreements (hereinafter, referred to as “SLA”) and provides resource allocation and task management technique based on the SLA and characteristics of application program.
For resource management in grid computing systems, it is required to monitor resource states which vary in time and space, to satisfy users' demands within users' budgets and to provide reliable execution of tasks.
However, since the “integrated load distribution and resource management” is designed to be optimized in geographically-limited environments, it is less efficient to use the “integrated load distribution and resource management” in terms of resource sharing on the Internet. Particularly, in cases where hundreds or thousands of resources are available, conventional linear programming based optimal resource management systems cannot flexibly cope with elapse of time and changes in environment.
Further, since the “grid resource management” requires accurate specification of respective performance parameters, e.g., CPUs, memories and hard disks, in order to define the user-desired performance and the required service level, it is difficult to implement the “grid resource management” and to flexibly cope with various requirements, e.g., a deadline of a task submitted by a user. Also, it is difficult to provide commercial services using the “grid resource management” because the “grid resource management” does not take into consideration service costs to be paid by users and profits of service providers.